1
00:00:01,220 --> 00:00:04,020
لنبدأ هذا القسم حول الوظائف

2
00:00:04,020 --> 00:00:08,143
مع أحد أسهل الأجزاء، وهي المعلمات الافتراضية.

3
00:00:10,040 --> 00:00:13,470
والقسم الجديد يعني ملفات بداية جديدة.

4
00:00:13,470 --> 00:00:17,440
لذا، كما هو الحال دائمًا، احصل على ما تريد من مستودع Gitup وبعد ذلك

5
00:00:17,440 --> 00:00:20,070
افتحها في رمز VS الخاص بك.

6
00:00:20,070 --> 00:00:24,200
وكما هو الحال دائمًا، فقد بدأنا بالفعل بالوضع الصارم هنا

7
00:00:24,200 --> 00:00:27,670
ولكن الآن دعونا نتحدث عن المعلمات الافتراضية.

8
00:00:27,670 --> 00:00:31,710
لذلك في بعض الأحيان يكون من المفيد أن يكون لديك وظائف حيث يوجد بعضها

9
00:00:31,710 --> 00:00:35,370
يتم تعيين المعلمات بشكل افتراضي. بهذه الطريقة

10
00:00:35,370 --> 00:00:39,440
لا يتعين علينا تمريرها يدويًا في حالة عدم القيام بذلك

11
00:00:39,440 --> 00:00:41,460
تريد تغيير الافتراضي.

12
00:00:41,460 --> 00:00:42,470
الآن في هذا القسم،

13
00:00:42,470 --> 00:00:45,650
سنواصل موضوع شركة الطيران الذي نحن فيه

14
00:00:45,650 --> 00:00:48,530
بدأت بنهاية القسم الأخير.

15
00:00:48,530 --> 00:00:52,440
فلنقم الآن بإنشاء وظيفة حجز أساسية جدًا و

16
00:00:52,440 --> 00:00:53,420
ونحن سوف نفعل ذلك،

17
00:00:53,420 --> 00:00:56,543
بدءًا من المعرفة التي كانت لدينا سابقًا.

18
00:00:59,520 --> 00:01:01,210
لذلك دون الافتراضي

19
00:01:02,060 --> 00:01:03,333
المعلمات أولا

20
00:01:06,070 --> 00:01:09,220
لذلك مجرد وظيفة عادية وفي هذه الوظيفة،

21
00:01:09,220 --> 00:01:12,045
نحن بحاجة إلى تمرير رقم الرحلة،

22
00:01:12,045 --> 00:01:14,630
عدد الركاب

23
00:01:16,530 --> 00:01:17,363
و

24
00:01:18,420 --> 00:01:19,253
السعر.

25
00:01:20,810 --> 00:01:24,410
وبعد ذلك دعونا ببساطة نستخدم هذه البيانات لإنشاء كائن و

26
00:01:24,410 --> 00:01:26,423
ادفع ذلك إلى بعض مصفوفة الحجوزات.

27
00:01:29,780 --> 00:01:31,620
لذا الحجز

28
00:01:31,620 --> 00:01:35,050
والآن يمكننا هنا استخدام بناء الجملة الحرفي المحسن للكائن

29
00:01:35,050 --> 00:01:38,770
التي تعلمنا عنها في القسم السابق.

30
00:01:38,770 --> 00:01:42,260
لذلك لا يمكننا إنشاء كائن باستخدام خاصية رقم الرحلة

31
00:01:42,260 --> 00:01:46,350
دون الحاجة إلى القيام بذلك، تذكر؟

32
00:01:46,350 --> 00:01:49,290
لذلك قمنا ببساطة بتعريف متغير هنا، وسيحدث ذلك بعد ذلك

33
00:01:49,290 --> 00:01:53,810
إنشاء خاصية بهذا الاسم وكذلك القيمة

34
00:01:53,810 --> 00:01:55,093
في المتغير.

35
00:01:57,870 --> 00:01:59,903
وبعد ذلك دعونا نسجله في وحدة التحكم.

36
00:02:01,600 --> 00:02:05,500
وبعد ذلك دعونا ننشئ مصفوفة هنا والتي سوف

37
00:02:05,500 --> 00:02:06,773
تحتوي على هذه الحجوزات.

38
00:02:08,530 --> 00:02:11,950
لذلك نبدأ هنا فارغين ثم ندفعهم بكل بساطة

39
00:02:11,950 --> 00:02:13,350
الوقت هناك الحجز.

40
00:02:13,350 --> 00:02:16,040
لذلك يجب على شركة الطيران الاحتفاظ بها بشكل أساسي

41
00:02:16,040 --> 00:02:17,723
الحجوزات في نوع من

42
00:02:17,723 --> 00:02:19,650
نظام.

43
00:02:19,650 --> 00:02:22,130
وهذا كله خيالي للغاية.

44
00:02:22,130 --> 00:02:26,560
إنها فقط لتظهر لك المعلمات الافتراضية في هذه الحالة.

45
00:02:26,560 --> 00:02:28,090
والحديث عن ذلك،

46
00:02:28,090 --> 00:02:30,780
بناءً على ما تعلمناه في القسم الأخير عنه

47
00:02:30,780 --> 00:02:35,780
دائرة كهربائية قصيرة، كيف يمكننا تنفيذ المعلمات الافتراضية؟

48
00:02:35,890 --> 00:02:36,723
حسنًا،

49
00:02:36,723 --> 00:02:39,510
لنبدأ باستدعاء هذه الوظيفة دون تحديد بعضها

50
00:02:39,510 --> 00:02:41,823
المعلمات ونرى ما نحصل عليه بعد ذلك.

51
00:02:43,240 --> 00:02:45,460
لذلك قم بإنشاء الحجز.

52
00:02:45,460 --> 00:02:50,137
والآن مع رقم الرحلة فقط، لنفترض LH 123،

53
00:02:51,850 --> 00:02:54,073
والآن نحن بحاجة إلى محطة جديدة كما هو الحال دائما.

54
00:02:59,140 --> 00:03:00,940
لذلك مرة أخرى، قمت بالضغط هنا

55
00:03:01,931 --> 00:03:04,993
لإكمال العملية تلقائيًا.

56
00:03:09,490 --> 00:03:13,120
وبالفعل هنا متصفحنا مع صفحتنا بالفعل

57
00:03:13,120 --> 00:03:14,670
تشغيل.

58
00:03:14,670 --> 00:03:16,453
الآن هنا نوع من المشكلة.

59
00:03:17,700 --> 00:03:20,240
أوه، وهذا لأننا أطلقنا على هذا الحجز هنا،

60
00:03:20,240 --> 00:03:22,050
نفس المصفوفة.

61
00:03:22,050 --> 00:03:25,660
ومن ثم يحاول هنا دفع هذا الجسم إلى الداخل

62
00:03:25,660 --> 00:03:27,423
نفسها في الأساس.

63
00:03:28,360 --> 00:03:32,463
لذلك نحن بحاجة إلى إنشاء حجوزات هنا، وإعطائها اسمًا جديدًا.

64
00:03:33,420 --> 00:03:38,420
وبالفعل الآن حصلنا على نتيجة هذا الكائن،

65
00:03:38,500 --> 00:03:39,640
والآن يعمل.

66
00:03:39,640 --> 00:03:44,130
وهنا نرى نتيجة كائن الحجز هذا.

67
00:03:44,130 --> 00:03:48,347
ولذا فإن ما أردنا رؤيته هنا هو أن عدد الركاب

68
00:03:48,347 --> 00:03:52,740
وتم ضبط السعر على غير محدد لأننا لم نحدده

69
00:03:52,740 --> 00:03:54,406
لهم.

70
00:03:54,406 --> 00:03:57,620
والآن يمكننا استخدام دائرة القصر لصالحنا

71
00:03:57,620 --> 00:04:00,233
لأننا نعلم أن هذه قيم زائفة.

72
00:04:01,980 --> 00:04:03,260
تمام.

73
00:04:03,260 --> 00:04:06,360
وما أفعله هنا هو في الأساس الطريقة القديمة للإعداد

74
00:04:06,360 --> 00:04:07,720
المعلمات الافتراضية،

75
00:04:07,720 --> 00:04:11,700
فقط لنتذكر كيف كان سيعمل قبل ES6.

76
00:04:11,700 --> 00:04:16,130
لنفترض أنني أردت ضبط عدد الركاب على واحد

77
00:04:16,130 --> 00:04:17,330
بشكل افتراضي.

78
00:04:17,330 --> 00:04:22,073
لذلك سنقوم بإعادة تعيين هذه المعلمة بهذه الطريقة.

79
00:04:23,120 --> 00:04:28,120
إذن numPassengers هو numPassengers أو واحد،

80
00:04:28,640 --> 00:04:31,170
وهي القيمة الافتراضية.

81
00:04:31,170 --> 00:04:33,870
وهذا ينجح للأسباب التي تعلمناها في

82
00:04:33,870 --> 00:04:38,300
القسم الأخير، وهو أنه عندما تكون هذه قيمة خاطئة،

83
00:04:38,300 --> 00:04:39,713
والذي هو غير محدد،

84
00:04:39,713 --> 00:04:41,712
ثم نتيجة

85
00:04:41,712 --> 00:04:44,520
سيكون عامل التشغيل OR هنا هو العامل الثاني.

86
00:04:44,520 --> 00:04:46,963
إذن هذه القيمة هنا في هذه الحالة واحدة،

87
00:04:48,000 --> 00:04:50,400
والآن يمكننا أن نفعل نفس الشيء مع الجائزة.

88
00:04:53,800 --> 00:04:57,650
لنفترض أن 199 هو السعر الافتراضي.

89
00:04:57,650 --> 00:05:00,270
لذا، إذا قمنا بإعادة تحميل هذا الآن،

90
00:05:00,270 --> 00:05:03,520
ثم بالفعل نحصل على قيمنا الافتراضية هنا.

91
00:05:03,520 --> 00:05:07,370
تمام. ومع ذلك، من هذا الجزء من الكود،

92
00:05:07,370 --> 00:05:12,130
هذا كثير من المعطف المعياري القبيح. ومرة أخرى،

93
00:05:12,130 --> 00:05:15,000
هذه هي طريقة ES5 للقيام بذلك.

94
00:05:15,000 --> 00:05:16,200
لذلك سوف أخرج هذا.

95
00:05:17,550 --> 00:05:19,040
اسمحوا لي في الواقع، أن أكتب

96
00:05:19,040 --> 00:05:23,080
ES5 هنا لأنه الآن في ES6 هناك طريقة أفضل.

97
00:05:23,080 --> 00:05:28,080
إذن، كل ما علينا فعله هو كتابة هذا يساوي واحدًا.

98
00:05:28,840 --> 00:05:32,750
والآن ستكون هذه هي القيمة الافتراضية

99
00:05:32,750 --> 00:05:34,490
ونفس الشيء بالنسبة للسعر.

100
00:05:34,490 --> 00:05:36,510
دعنا نقول 199

101
00:05:36,510 --> 00:05:40,600
والآن إذا قمنا بإعادة التحميل، فسنحصل على نفس النتيجة هنا.

102
00:05:40,600 --> 00:05:43,760
وهذا هنا بالطبع يبدو أجمل كثيرًا وهو كذلك

103
00:05:43,760 --> 00:05:46,193
أكثر سهولة في القراءة.

104
00:05:47,220 --> 00:05:50,620
الآن، بالطبع يمكننا تجاوز هذه الإعدادات الافتراضية.

105
00:05:50,620 --> 00:05:52,763
وإلا فإن هذا لن يكون له معنى كبير.

106
00:05:53,670 --> 00:05:54,780
لذلك دعونا نحاول

107
00:05:56,123 --> 00:05:59,760
ح 123، والآن ل

108
00:05:59,760 --> 00:06:03,743
راكبين، ولنفترض 800.

109
00:06:05,170 --> 00:06:07,640
والآن بالطبع هذه القيم هي تلك التي نمثلها

110
00:06:07,640 --> 00:06:11,610
المحددة هنا بدلاً من القيم الافتراضية.

111
00:06:11,610 --> 00:06:12,443
الآن،

112
00:06:12,443 --> 00:06:15,770
الشيء الوحيد الرائع حقًا فيما يتعلق بالقيم الافتراضية هو

113
00:06:15,770 --> 00:06:18,120
أنها يمكن أن تحتوي على أي تعبير.

114
00:06:18,120 --> 00:06:22,615
على سبيل المثال، يمكننا أن نفعل *1.2، على سبيل المثال،

115
00:06:22,615 --> 00:06:24,543
ثم سوف نحصل على هذا هنا.

116
00:06:25,750 --> 00:06:26,583
تمام.

117
00:06:26,583 --> 00:06:29,580
ولكن الأمر الأكثر فائدة هو أنه يمكننا بالفعل استخدام

118
00:06:29,580 --> 00:06:34,220
قيم المعلمات الأخرى التي تم تعيينها قبله.

119
00:06:34,220 --> 00:06:38,140
لذا، يمكننا الآن أن نقول إنه ينبغي حساب السعر

120
00:06:38,140 --> 00:06:40,043
على أساس عدد الركاب.

121
00:06:40,900 --> 00:06:42,370
حسنًا.

122
00:06:42,370 --> 00:06:45,973
لذلك إذا قمنا بذلك الآن، فقم بإنشاء الحجز مرة أخرى،

123
00:06:47,010 --> 00:06:48,833
فقط بعض الأرقام المسطحة العشوائية هنا،

124
00:06:51,410 --> 00:06:52,730
دعنا نقول مرة أخرى، اثنان

125
00:06:53,900 --> 00:06:56,653
لكن مع العدد خمسة، سنحصل على قيمة أخرى.

126
00:06:58,760 --> 00:07:01,490
وبالفعل ترى 398.

127
00:07:01,490 --> 00:07:05,210
إذن يستمر الرقم هنا ثم 995

128
00:07:06,260 --> 00:07:10,080
وهكذا يتم الآن حساب السعر ديناميكيًا بشكل افتراضي،

129
00:07:10,080 --> 00:07:13,490
بناءً على هذه القيمة التي حددناها وعدد

130
00:07:13,490 --> 00:07:15,030
الركاب. ومرة أخرى،

131
00:07:15,030 --> 00:07:19,290
يعمل هذا فقط مع المعلمات المحددة في القائمة

132
00:07:19,290 --> 00:07:21,320
قبل هذا.

133
00:07:21,320 --> 00:07:25,470
لذلك لن ينجح هذا لأن JavaScript في الأساس

134
00:07:25,470 --> 00:07:29,423
يحدد هذه المعلمات في الطلبات وكما يصل.

135
00:07:30,400 --> 00:07:32,450
لذا الآن، عندما يصل إلى السعر،

136
00:07:32,450 --> 00:07:35,590
ولا يعرف عدد الركاب بعد.

137
00:07:35,590 --> 00:07:37,193
وهذا لن ينجح.

138
00:07:38,220 --> 00:07:41,470
الآن، شيء آخر من المهم أن نلاحظه هنا هو أننا

139
00:07:41,470 --> 00:07:45,670
لا يمكن تخطي الوسائط هنا عندما نستدعي دالة.

140
00:07:45,670 --> 00:07:46,503
لذلك على سبيل المثال،

141
00:07:46,503 --> 00:07:50,170
لنفترض أننا أردنا ترك عدد الركاب كما هو

142
00:07:50,170 --> 00:07:54,160
القيمة الافتراضية، ولكن بعد ذلك حدد السعر.

143
00:07:54,160 --> 00:07:55,853
لذلك لا يمكننا أن نفعل هذا.

144
00:08:00,990 --> 00:08:04,130
لذا تخطي عدد الركاب الآن،

145
00:08:04,130 --> 00:08:07,260
وبعد ذلك فقط تحديد سعر جديد.

146
00:08:07,260 --> 00:08:08,260
لذا، إذا فعلنا هذا،

147
00:08:08,260 --> 00:08:11,400
ثم بالطبع يصبح عدد الركاب 1000

148
00:08:13,120 --> 00:08:16,280
لأن الوسيطة الثانية هنا سيتم تعيينها دائمًا إلى

149
00:08:16,280 --> 00:08:18,000
المعلمة الثانية.

150
00:08:18,000 --> 00:08:21,500
لذا، إذا أردنا أن نترك هذا العام واحدًا في حالة تقصير،

151
00:08:21,500 --> 00:08:23,440
هناك خدعة لطيفة.

152
00:08:23,440 --> 00:08:27,924
وبالتالي فإن عدد الركاب الذي يمكننا ببساطة ضبطه على أنه غير محدد،

153
00:08:27,924 --> 00:08:29,490
حسنا،

154
00:08:29,490 --> 00:08:32,330
وهذا يعمل مرة أخرى بسبب ضبط المعلمة على

155
00:08:32,330 --> 00:08:33,163
غير محدد,

156
00:08:34,009 --> 00:08:36,900
إنه نفس الشيء حتى عدم ضبطه، أتذكر؟

157
00:08:36,900 --> 00:08:39,290
لذلك عندما لا نقوم بتعيين المعلمة

158
00:08:39,290 --> 00:08:42,560
لذلك عندما لا نقوم بتمرير وسيطة إلى تلك المعلمة،

159
00:08:42,560 --> 00:08:45,320
ثم سوف يستغرق قيمة غير محددة.

160
00:08:45,320 --> 00:08:49,270
وبالتالي فإن تحديد غير محدد هنا هو نفسه تمامًا.

161
00:08:49,270 --> 00:08:52,980
وهذه هي الطريقة التي نتخطى بها المعلمة الافتراضية

162
00:08:52,980 --> 00:08:55,463
التي نريد أن نتركها في وضعها الافتراضي.

163
00:08:56,299 --> 00:08:58,770
والآن، بينما أقوم بإعادة تحميله هنا،

164
00:08:58,770 --> 00:09:01,940
ترى أن عدد الركاب لا يزال واحدًا.

165
00:09:01,940 --> 00:09:04,820
وبالفعل السعر الآن 1000.

166
00:09:04,820 --> 00:09:08,050
حسنا. إذن إضافة أخرى لطيفة جدًا

167
00:09:08,050 --> 00:09:10,220
للغة في ES6 هنا

168
00:09:10,220 --> 00:09:13,280
ومباشر جدًا للفهم أيضًا.

169
00:09:13,280 --> 00:09:14,773
لذا نراكم في الفيديو التالي.


